#region << 版 本 注 释 >>
/*----------------------------------------------------------------
 * 版权所有 (c) 2025   保留所有权利。
 * CLR版本：4.0.30319.42000
 * 机器名称：DESKTOP-GLJ2Q8J
 * 公司名称：
 * 命名空间：VSIXProjectGit.Config
 * 唯一标识：aa09dded-1fec-4d7e-b1d0-000a25da4757
 * 文件名：ReminderConfig
 * 当前用户域：DESKTOP-GLJ2Q8J
 * 
 * 创建者： Guo_79991
 * 电子邮箱：799919859@qq.com
 * 创建时间：2025/9/25 11:43:48
 * 版本：V1.0.0
 * 描述：
 *
 * ----------------------------------------------------------------
 * 修改人：
 * 时间：
 * 修改说明：
 *
 * 版本：V1.0.1
 *----------------------------------------------------------------*/
#endregion << 版 本 注 释 >>

// ReminderConfig.cs
using System;
using System.Diagnostics;
using System.IO;
using Newtonsoft.Json;

namespace VSIXProjectGit
{
    public class ReminderConfig
    {
        public string Message { get; set; } = "💧 该喝水啦！记得补充水分哦~";
        public int IntervalMinutes { get; set; } = 30;
        public bool IsEnabled { get; set; } = false;

        private static readonly string ConfigPath =
            Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
                        "VSIXProjectGit", "reminder_config.json");

        public void Save()
        {
            try
            {
                Directory.CreateDirectory(Path.GetDirectoryName(ConfigPath));
                File.WriteAllText(ConfigPath, JsonConvert.SerializeObject(this, Formatting.Indented));
            }
            catch (Exception ex)
            {
                Debug.WriteLine($"保存配置失败: {ex.Message}");
            }
        }

        public static ReminderConfig Load()
        {
            try
            {
                if (File.Exists(ConfigPath))
                {
                    var json = File.ReadAllText(ConfigPath);
                    return JsonConvert.DeserializeObject<ReminderConfig>(json) ?? new ReminderConfig();
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine($"加载配置失败: {ex.Message}");
            }
            return new ReminderConfig();
        }
    }
}